package com.twb.core.util;

import java.util.List;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.twb.core.base.entity.TwbPageInfo;
import com.twb.core.base.entity.vo.PageVo;

/** 
 * @ClassName TwbPageUtil 
 * @Description 分页查询工具类
 * @author DSY
 * @date 2018年11月15日 上午10:15:40 
 */ 
public class TwbPageUtil {

	/**
	 * @Title  startPage
	 * @Description 分页sql拦截
	 * @param page
	 * @return
	 * @author DSY
	 * @date 2018年11月15日 上午10:14:55
	 */
	public static <T> Page<T> startPage(PageVo page) {
		Boolean enable = page.getEnable();
		Page<T> startPage = null;
		if(enable) {
			startPage = PageHelper.startPage(page.getPageNum(), page.getPageSize(), page.getSorts());
		}else {
			startPage = PageHelper.startPage(0, 0, false, null, true);
			startPage.setOrderBy(page.getSorts());
		}
		return startPage;
	}

	/**
	 * @Title  of
	 * @Description 对查询后的数据进行分页处理
	 * @param list
	 * @return
	 * @author DSY
	 * @date 2018年11月15日 上午10:15:09
	 */
	public static <T> TwbPageInfo<T> of(List<T> list) {
		PageInfo<T> pageInfo = PageInfo.of(list);
		return new TwbPageInfo<>(pageInfo);
	}
	
	/**
	 * @Title orderBy
	 * @Description 排序
	 * @param orderBy
	 * @author DSY
	 * @date 2020年4月2日 下午1:25:48
	 */
	public static void orderBy(String orderBy) {
		PageHelper.orderBy(orderBy);
	}
}
